package com.geek.factory.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.geek.factory.dto.CreateProductionPlanDTO;
import com.geek.factory.dto.ProductionPlanDTO;
import com.geek.factory.dto.ProductionPlanMaterialDTO;
import com.geek.factory.dto.UpdateProductionPlanDTO;
import com.geek.factory.entity.ProductionPlan;

import java.util.List;

public interface ProductionPlanService  extends IService<ProductionPlan> {


    void createPlan(CreateProductionPlanDTO dto);
    void deletePlan(Long id);
    void updatePlan(ProductionPlan plan);
    ProductionPlan getPlanById(Long id);
    List<ProductionPlanDTO> getPlanListWithNamesPaged(String planCode, Long productId, String productLineId, String status, int offset, int size);
    long countPlanListWithNames(String planCode, Long productId, String productLineId, String status);
    List<ProductionPlanMaterialDTO> getPlanMaterialDetails(Long planId);

    List<ProductionPlanMaterialDTO> getPlanMaterialDetailsByCode(String planCode);
    void updatePlan(UpdateProductionPlanDTO dto);

    ProductionPlanDTO getPlanDetailById(Long id);
}
